Various embodiments of the present invention relate to transaction processing, and more specifically, to a method and apparatus for identifying a performance bottleneck of a transaction in a transaction processing system.
With the development of computer technology, transaction processing systems have already been involved in various respects in people's daily work and life and have become key systems to support mission critical businesses around the world. For example, transaction processing systems are widely used in institutions like banks to provide automated transaction processing. The transaction processing system used by a bank may process a variety of transactions, such as customer-requested deposit, withdrawal, transfer and so on.
So far the transaction processing system can concurrently process tens of thousands of transactions and even more. For example, the transaction processing system of a bank can serve a plurality of countries and regions and can simultaneously respond to requests from users in various countries and regions. The transaction processing system can comprise a plurality of processing components. For example, the transaction processing system for banking as provided by IBM® may comprise a number of processing components such as CICS Transaction Server, CICS TXSeries, Tuxedo, WAS, Weblogic, Jboss, Database System (e.g. DB2, Oracle DB, Mysql), Queue manager (e.g. WMQ) etc., and other processing components provided by the Operating System. These processing components coordinate with each other to support transaction processing.
Typically the transaction processing system is highly demanding on the response time; this requires maintainers of the transaction processing system to quickly find out causes of problems and solve the problems when the problems occur in one or more processing components of the system. However, since the existing transaction processing system is too complex and involves various kinds of configuration operations, the causes for low performance of the transaction processing system might be complex.
The performance of the transaction processing system might be subject to the influence from various respects of processing components, for example, the low performance might be a joint result from problems in a plurality of processing components. In a complex transaction processing system, it might take several and even dozens of days to find out causes affecting the performance, with joint efforts of technical experts proficient in respective processing components.
Considering that in the prior art there is no effective means to pinpoint a performance bottleneck of a transaction processing system, it becomes a research focus nowadays regarding how to effectively track a transaction processing flow in the transaction processing system and quickly locate in the flow a bottleneck that affects the transaction processing performance.